﻿using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Web;

namespace MusicHouse.Models.Views
{
    public class EnviarEmail
    {
        [Required(ErrorMessage = "Nome é Obrigatório")]
        [Display(Name = "Nome")]
        [StringLength(100, ErrorMessage = "Máximo {0} caracteres.")]
        public string Nome { get; set; }

        [Required(ErrorMessage = "E-mail é Obrigatório")]
        [DataType(DataType.EmailAddress, ErrorMessage = "E-mail inválido.")]
        [Display(Name = "E-mail")]
        [StringLength(50, ErrorMessage = "Máximo {0} caracteres.")]
        public string Email { get; set; }

        [StringLength(50, ErrorMessage = "Máximo {0} caracteres.")]
        public string Telefone { get; set; }


        [Required(ErrorMessage = "Tipo de Contato é Obrigatório")]
        [Display(Name = "Tipo Contato")]
        public string ValorTipoEmail { get; set; }
        private TipoEmail tipo = new TipoEmail { Texto = "Selecione", Valor = "" };
        public TipoEmail Tipo
        {
            get { return tipo; }
            set { tipo = value; }
        }

        [Required(ErrorMessage = "Mensagem é Obrigatório")]
        [Display(Name = "Mensagem")]
        [StringLength(1000, ErrorMessage = "Máximo {0} caracteres.")]
        
        public string Mensagem { get; set; }

        public class TipoEmail
        {
            public string Texto { get; set; }
            public string Valor { get; set; }

            public IList<TipoEmail> ListaTipos()
            {
                var lista = new List<TipoEmail>
                                {
                                    new TipoEmail {Texto = "Selecione", Valor = ""},
                                    new TipoEmail {Texto = "Orçamento", Valor = "Orçamento"},
                                    new TipoEmail {Texto = "Dúvida", Valor = "Dúvida"},
                                    new TipoEmail {Texto = "Sugestão", Valor = "Sugestão"},
                                    new TipoEmail {Texto = "Prazo de Entrega", Valor = "Prazo de Entrega"},
                                    new TipoEmail {Texto = "Outros", Valor = "Outros"},
                                    new TipoEmail {Texto = "Reclamação", Valor = "Reclamação"}
                                };

                return lista;
            }
        }
    }
}